package com.linkwechat.wecom.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
import java.util.HashMap;
import java.math.BigDecimal;

/**
 * 企微客服咨询事件日志对象 wework_kf_log
 * 
 * @author ruoyi
 * @date 2022-03-02
 */
@ApiModel
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("wework_kf_log")
public class WeworkKfLog implements Serializable {

private static final long serialVersionUID=1L;


    /** ID */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 事件类型 */
    @ApiModelProperty("事件类型")
    @TableField(value = "event_type")
    private String eventType;

    /** 接待人员ID */
    @ApiModelProperty("接待人员ID")
    @TableField(value = "servicer_id")
    private String servicerId;

    /** 外部客户ID */
    @ApiModelProperty("外部客户ID")
    @TableField(value = "customer_id")
    private String customerId;

    /** 客服账号ID */
    @ApiModelProperty("客服账号ID")
    @TableField(value = "open_kfid")
    private String openKfid;

    /** 创建时间(企微事件消息) */
    @ApiModelProperty("创建时间(企微事件消息)")
    @TableField(value = "create_time")
    private Date createTime;

    /** 系统时间 */
    @ApiModelProperty("系统时间")
    @TableField(value = "sys_time")
    private Date sysTime;

    /** 接待人员状态 */
    @ApiModelProperty("消息来源")
    @TableField(value = "origin")
    private Integer origin;

    /** 失败类型 */
    @ApiModelProperty("失败类型")
    @TableField(value = "fail_type")
    private Integer failType;

    /** 失败信息 */
    @ApiModelProperty("失败信息")
    @TableField(value = "fail_msgid")
    private String failMsgid;

    /** 变更类型 */
    @ApiModelProperty("变更类型")
    @TableField(value = "change_type")
    private Integer changeType;

    /** 旧接待人员ID */
    @ApiModelProperty("旧接待人员ID")
    @TableField(value = "old_servicer_userid")
    private String oldServicerUserid;

    /** 新接待人员ID */
    @ApiModelProperty("新接待人员ID")
    @TableField(value = "new_servicer_userid")
    private String newServicerUserid;

    /** 接待人员状态 */
    @ApiModelProperty("接待人员状态")
    @TableField(value = "servicer_status")
    private Integer servicerStatus;

    /** 失败信息 */
    @ApiModelProperty("备注")
    @TableField(value = "note")
    private String note;

    /** 消息ID */
    @ApiModelProperty("消息ID")
    @TableField(value = "msgid")
    private String msgid;

    /** 会话ID */
    @ApiModelProperty("会话ID")
    @TableField(value = "session_id")
    private String sessionId;

    @TableField(exist = false)
    private Map<String, Object> params = new HashMap<>();
}
